﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FinalFantasy6Randomizer
{
    class TreasureContents
    {
        public List<List<Item>> ItemTiers { get; set; }
        public List<List<Item>> GiveItemTiers { get; set; }
        private static readonly TreasureContents instance = new TreasureContents();

        private TreasureContents()
        {
            SetTreasureContents();
        }

        public static TreasureContents GetTreasureContents()
        {
            return instance;
        }

        private void SetTreasureContents()
        {
            ItemTiers = new List<List<Item>>
                            {
                                new List<Item> // Tier 0
                                    {
                                        Item.Shuriken,
                                        Item.Antidote,
                                        Item.Eyedrop,
                                        Item.Tonic,
                                        Item.LeatherHat,
                                        Item.Kaiser,
                                        Item.EchoScreen,
                                        Item.DriedMeat,
                                        Item.GreenCherry,
                                        Item.Dirk,
                                        Item.HairBand,
                                        Item.LeatherArmor,
                                        Item.Empty,
                                    },
                                new List<Item> // Tier 1
                                    {
                                        Item.Soft,
                                        Item.Buckler,
                                        Item.CottonRobe,
                                        Item.InvizEdge,
                                        Item.PlumedHat,
                                        Item.KungFuSuit,
                                        Item.Autocrossbow,
                                        Item.Potion,
                                        Item.Revivify,
                                        Item.SmokeBomb,
                                        Item.MithrilKnife,
                                        Item.HeavyShld,
                                        Item.ShadowEdge,
                                    },
                                new List<Item> // Tier 2
                                    {
                                        Item.FenixDown,
                                        Item.SleepingBag,
                                        Item.Ashura,
                                        Item.MithrilRod,
                                        Item.MetalKnuckle,
                                        Item.NoiseBlaster,
                                        Item.BoltEdge,
                                        Item.FireSkean,
                                        Item.WaterEdge,
                                        Item.BarrierRing,
                                        Item.Goggles,
                                        Item.MithrilBlade,
                                    },
                                new List<Item> // Tier 3
                                    {
                                        Item.Imperial,
                                        Item.ChocoboBrsh,
                                        Item.MagusHat,
                                        Item.SilkRobe,
                                        Item.WarpStone,
                                        Item.IronArmor,
                                        Item.MithrilGlove,
                                        Item.BioBlaster,
                                        Item.RegalCutlass,
                                        Item.MithrilPike,
                                        Item.Kotetsu,
                                        Item.MithrilClaw,
                                        Item.Bandana,
                                        Item.AirLancet,
                                    },
                                new List<Item> // Tier 4
                                    {
                                        Item.Remedy,
                                        Item.NinjaStar,
                                        Item.Cards,
                                        Item.IronHelmet,
                                        Item.Flash,
                                        Item.JewelRing,
                                        Item.StarPendant,
                                        Item.TrueKnight,
                                        Item.NinjaGear,
                                        Item.Tent,
                                        Item.Kodachi,
                                        Item.Forged,
                                        Item.MithrilShld,
                                        Item.MithrilVest,
                                        Item.Tincture,
                                        Item.PoisonRod,
                                        Item.FairyRing,
                                        Item.SprintShoes,
                                        Item.HeadBand,
                                        Item.Trident,
                                        Item.GreenBeret,
                                   },
                                new List<Item> // Tier 5
                                    {
                                        Item.Flail,
                                        Item.MithrilHelm,
                                        Item.Chainsaw,
                                        Item.WhiteDress,
                                        Item.FullMoon,
                                        Item.PoisonClaw,
                                        Item.GoldShld,
                                        Item.TigerMask,
                                        Item.Epee,
                                        Item.FireRod,
                                        Item.IceRod,
                                        Item.ThunderRod,
                                        Item.BardsHat,
                                        Item.Tiara,
                                        Item.Drill,
                                        Item.CzarinaRing,
                                        Item.PeaceRing,
                                        Item.SneakRing,
                                        Item.SniperSight,
                                        Item.Blossom,
                                        Item.Beret,
                                        Item.MithrilMail,
                                    },
                                new List<Item> // Tier 6
                                    {
                                        Item.Elixir,
                                        Item.Ether,
                                        Item.Magicite,
                                        Item.XPotion,
                                        Item.Assassin,
                                        Item.Guardian,
                                        Item.ThiefKnife,
                                        Item.AtmaWeapon,
                                        Item.HealRod,
                                        Item.ChocoboSuit,
                                        Item.TabbySuit,
                                        Item.CoinToss,
                                        Item.GenjiGlove,
                                        Item.HeroRing,
                                        Item.ThiefGlove,
                                        Item.MementoRing,
                                        Item.Hardened,
                                    },
                                new List<Item> // Tier 7
                                    {
                                        Item.GoldHelmet,
                                        Item.MorningStar,
                                        Item.Debilitator,
                                        Item.Amulet,
                                        Item.AtlasArmlet,
                                        Item.BlackBelt,
                                        Item.Earrings,
                                        Item.GuardRing,
                                        Item.WhiteCape,
                                        Item.Boomerang,
                                        Item.MysteryVeil,
                                        Item.HawkEye,
                                        Item.WallRing,
                                        Item.GoldArmor,
                                        Item.RunningShoes,
                                  },
                                new List<Item> // Tier 8
                                    {
                                        Item.HyperWrist,
                                        Item.Tempest,
                                        Item.GaiaGear,
                                        Item.CherubDown,
                                        Item.Blizzard,
                                        Item.FlameSabre,
                                        Item.ThunderBlade,
                                        Item.BackGuard,
                                        Item.ZephyrCape,
                                        Item.RuneEdge,
                                        Item.CureRing,
                                        Item.GaleHairpin,
                                        Item.Murasame,
                                        Item.DragoonBoots,
                                        Item.StoutSpear,
                                        Item.Darts,
                                        Item.FireKnuckle,
                                        Item.PowerSash,
                                        Item.BreakBlade,
                                    },
                                new List<Item> // Tier 9
                                    {
                                        Item.DarkHood,
                                        Item.Circlet,
                                        Item.CrystalShld,
                                        Item.DaVinciBrsh,
                                        Item.Dice,
                                        Item.DiamondShld,
                                        Item.Beads,
                                        Item.DiamondHelm,
                                        Item.OathVeil,
                                        Item.SuperBall,
                                        Item.Enhancer,
                                        Item.MagicalBrsh,
                                        Item.CrystalHelm,
                                        Item.ManEater,
                                        Item.LightRobe,
                                        Item.GoldLance,
                                        Item.PearlRod,
                                        Item.DiamondVest,
                                        Item.Partisan,
                                        Item.GravityRod,
                                        Item.Trump,
                                        Item.DarkGear,
                                        Item.TaoRobe,
                                        Item.Crystal,
                                        Item.Sniper,
                                        Item.DiamondArmor,
                                        Item.SwordBreaker,
                                        Item.Falchion,
                                        Item.CrystalMail,
                                        Item.BoneClub,
                                    },
                                new List<Item> // Tier 10
                                    {
                                        Item.XEther,
                                        Item.Graedus,
                                        Item.Striker,
                                        Item.Stunner,
                                        Item.Drainer,
                                        Item.Scimitar,
                                        Item.SoulSabre,
                                        Item.ImpHalberd,
                                        Item.PearlLance,
                                        Item.Aura,
                                        Item.Strato,
                                        Item.MagusRod,
                                        Item.Punisher,
                                        Item.TackStar,
                                        Item.RisingSun,
                                        Item.WingEdge,
                                        Item.DoomDarts,
                                        Item.DragonClaw,
                                        Item.TigerFangs,
                                        Item.AegisShld,
                                        Item.FlameShld,
                                        Item.ForceShld,
                                        Item.GenjiShld,
                                        Item.IceShld,
                                        Item.ThunderShld,
                                        Item.TortoiseShld,
                                        Item.GenjiHelmet,
                                        Item.RedCap,
                                        Item.RegalCrown,
                                        Item.Thornlet,
                                        Item.Titanium,
                                        Item.BehemothSuit,
                                        Item.CzarinaGown,
                                        Item.ForceArmor,
                                        Item.GenjiArmor,
                                        Item.ImpsArmor,
                                        Item.Minerva,
                                        Item.MoogleSuit,
                                        Item.RedJacket,
                                        Item.AirAnchor,
                                        Item.BlizzardOrb,
                                        Item.CrystalOrb,
                                        Item.DragonHorn,
                                        Item.Economizer,
                                        Item.ExpEgg,
                                        Item.FakeMustache,
                                        Item.Gauntlet,
                                        Item.GemBox,
                                        Item.GoldHairpin,
                                        Item.MoogleCharm,
                                        Item.Offering,
                                        Item.PodBracelet,
                                        Item.RageRing,
                                        Item.RelicRing,
                                        Item.SafetyBit,
                                        Item.Ribbon,
                                    },
                                new List<Item> // Tier 11
                                    {
                                        Item.Megalixir,
                                        Item.Excalibur,
                                        Item.AuraLance,
                                        Item.SkyRender,
                                        Item.RainbowBrsh,
                                        Item.FixedDice,
                                        Item.Coronet,
                                        Item.NutkinSuit,
                                        Item.MuscleBelt,
                                    },
                                new List<Item> // Tier 12
                                    {
                                        Item.RenameCard,
                                        Item.Illumina,
                                        Item.OgreNix,
                                        Item.CatHood,
                                        Item.MirageVest,
                                        Item.SnowMuffler,
                                        Item.CursedRing,
                                        Item.MarvelShoes,
                                        Item.MeritAward,
                                    },
                                new List<Item> // Tier 13
                                    {
                                        Item.ValiantKnife,
                                        Item.Ragnarok,
                                        Item.CursedShld,
                                        Item.PaladinShld,
                                        Item.CharmBangle,
                                        Item.Tintinabar,
                                    },
                            };
            GiveItemTiers = new List<List<Item>>
                            {
                                new List<Item> // Give Tier 0
                                    {
                                        Item.Shuriken,
                                        Item.Shuriken,
                                        Item.Antidote,
                                        Item.Antidote,
                                        Item.Eyedrop,
                                        Item.Eyedrop,
                                        Item.Tonic,
                                        Item.Tonic,
                                        Item.EchoScreen,
                                        Item.EchoScreen,
                                        Item.DriedMeat,
                                        Item.DriedMeat,
                                        Item.GreenCherry,
                                        Item.GreenCherry,
                                        Item.LeatherHat,
                                        Item.Kaiser,
                                        Item.Dirk,
                                        Item.HairBand,
                                        Item.LeatherArmor,
                                        Item.Empty,
                                    },
                                new List<Item> // Give Tier 1
                                    {
                                        Item.Soft,
                                        Item.Soft,
                                        Item.InvizEdge,
                                        Item.InvizEdge,
                                        Item.Potion,
                                        Item.Potion,
                                        Item.Revivify,
                                        Item.Revivify,
                                        Item.SmokeBomb,
                                        Item.SmokeBomb,
                                        Item.ShadowEdge,
                                        Item.ShadowEdge,
                                        Item.Buckler,
                                        Item.CottonRobe,
                                        Item.PlumedHat,
                                        Item.KungFuSuit,
                                        Item.Autocrossbow,
                                        Item.MithrilKnife,
                                        Item.HeavyShld,
                                    },
                                new List<Item> // Give Tier 2
                                    {
                                        Item.FenixDown,
                                        Item.FenixDown,
                                        Item.SleepingBag,
                                        Item.SleepingBag,
                                        Item.BoltEdge,
                                        Item.BoltEdge,
                                        Item.FireSkean,
                                        Item.FireSkean,
                                        Item.WaterEdge,
                                        Item.WaterEdge,
                                        Item.Ashura,
                                        Item.MithrilRod,
                                        Item.MetalKnuckle,
                                        Item.NoiseBlaster,
                                        Item.BarrierRing,
                                        Item.Goggles,
                                        Item.MithrilBlade,
                                    },
                                new List<Item> // Give Tier 3
                                    {
                                        Item.WarpStone,
                                        Item.WarpStone,
                                        Item.Imperial,
                                        Item.ChocoboBrsh,
                                        Item.MagusHat,
                                        Item.SilkRobe,
                                        Item.IronArmor,
                                        Item.MithrilGlove,
                                        Item.BioBlaster,
                                        Item.RegalCutlass,
                                        Item.MithrilPike,
                                        Item.Kotetsu,
                                        Item.MithrilClaw,
                                        Item.Bandana,
                                        Item.AirLancet,
                                    },
                                new List<Item> // Give Tier 4
                                    {
                                        Item.Remedy,
                                        Item.Remedy,
                                        Item.NinjaStar,
                                        Item.NinjaStar,
                                        Item.Tent,
                                        Item.Tent,
                                        Item.Tincture,
                                        Item.Tincture,
                                        Item.Cards,
                                        Item.IronHelmet,
                                        Item.Flash,
                                        Item.JewelRing,
                                        Item.StarPendant,
                                        Item.TrueKnight,
                                        Item.NinjaGear,
                                        Item.Kodachi,
                                        Item.Forged,
                                        Item.MithrilShld,
                                        Item.MithrilVest,
                                        Item.PoisonRod,
                                        Item.FairyRing,
                                        Item.SprintShoes,
                                        Item.HeadBand,
                                        Item.Trident,
                                        Item.GreenBeret,
                                   },
                                new List<Item> // Give Tier 5
                                    {
                                        Item.Flail,
                                        Item.MithrilHelm,
                                        Item.Chainsaw,
                                        Item.WhiteDress,
                                        Item.FullMoon,
                                        Item.PoisonClaw,
                                        Item.GoldShld,
                                        Item.TigerMask,
                                        Item.Epee,
                                        Item.FireRod,
                                        Item.IceRod,
                                        Item.ThunderRod,
                                        Item.BardsHat,
                                        Item.Tiara,
                                        Item.Drill,
                                        Item.CzarinaRing,
                                        Item.PeaceRing,
                                        Item.SneakRing,
                                        Item.SniperSight,
                                        Item.Blossom,
                                        Item.Beret,
                                        Item.MithrilMail,
                                    },
                                new List<Item> // Give Tier 6
                                    {
                                        Item.Elixir,
                                        Item.Elixir,
                                        Item.Ether,
                                        Item.Ether,
                                        Item.Magicite,
                                        Item.Magicite,
                                        Item.XPotion,
                                        Item.XPotion,
                                        Item.Assassin,
                                        Item.Guardian,
                                        Item.ThiefKnife,
                                        Item.AtmaWeapon,
                                        Item.HealRod,
                                        Item.ChocoboSuit,
                                        Item.TabbySuit,
                                        Item.CoinToss,
                                        Item.GenjiGlove,
                                        Item.HeroRing,
                                        Item.ThiefGlove,
                                        Item.MementoRing,
                                    },
                                new List<Item> // Give Tier 7
                                    {
                                        Item.GoldHelmet,
                                        Item.MorningStar,
                                        Item.Debilitator,
                                        Item.Amulet,
                                        Item.AtlasArmlet,
                                        Item.BlackBelt,
                                        Item.Earrings,
                                        Item.GuardRing,
                                        Item.WhiteCape,
                                        Item.Boomerang,
                                        Item.MysteryVeil,
                                        Item.HawkEye,
                                        Item.WallRing,
                                        Item.GoldArmor,
                                        Item.RunningShoes,
                                    },
                                new List<Item> // Give Tier 8
                                    {
                                        Item.HyperWrist,
                                        Item.Tempest,
                                        Item.GaiaGear,
                                        Item.CherubDown,
                                        Item.Blizzard,
                                        Item.FlameSabre,
                                        Item.ThunderBlade,
                                        Item.BackGuard,
                                        Item.ZephyrCape,
                                        Item.RuneEdge,
                                        Item.CureRing,
                                        Item.GaleHairpin,
                                        Item.Murasame,
                                        Item.DragoonBoots,
                                        Item.StoutSpear,
                                        Item.Darts,
                                        Item.FireKnuckle,
                                        Item.PowerSash,
                                        Item.BreakBlade,
                                    },
                                new List<Item> // Give Tier 9
                                    {
                                        Item.SuperBall,
                                        Item.SuperBall,
                                        Item.DarkHood,
                                        Item.Circlet,
                                        Item.CrystalShld,
                                        Item.DaVinciBrsh,
                                        Item.Dice,
                                        Item.DiamondShld,
                                        Item.Beads,
                                        Item.DiamondHelm,
                                        Item.OathVeil,
                                        Item.Enhancer,
                                        Item.MagicalBrsh,
                                        Item.CrystalHelm,
                                        Item.ManEater,
                                        Item.LightRobe,
                                        Item.GoldLance,
                                        Item.PearlRod,
                                        Item.DiamondVest,
                                        Item.Partisan,
                                        Item.GravityRod,
                                        Item.Trump,
                                        Item.DarkGear,
                                        Item.TaoRobe,
                                        Item.Crystal,
                                        Item.Sniper,
                                        Item.DiamondArmor,
                                        Item.SwordBreaker,
                                        Item.Falchion,
                                        Item.CrystalMail,
                                        Item.BoneClub,
                                    },
                                new List<Item> // Give Tier 10
                                    {
                                        Item.XEther,
                                        Item.XEther,
                                        Item.XEther,
                                        Item.XEther,
                                        Item.Graedus,
                                        Item.Graedus,
                                        Item.Striker,
                                        Item.Striker,
                                        Item.Stunner,
                                        Item.Stunner,
                                        Item.Drainer,
                                        Item.Drainer,
                                        Item.Scimitar,
                                        Item.Scimitar,
                                        Item.SoulSabre,
                                        Item.SoulSabre,
                                        Item.ImpHalberd,
                                        Item.ImpHalberd,
                                        Item.PearlLance,
                                        Item.PearlLance,
                                        Item.Aura,
                                        Item.Aura,
                                        Item.Strato,
                                        Item.Strato,
                                        Item.MagusRod,
                                        Item.MagusRod,
                                        Item.Punisher,
                                        Item.Punisher,
                                        Item.TackStar,
                                        Item.TackStar,
                                        Item.RisingSun,
                                        Item.RisingSun,
                                        Item.WingEdge,
                                        Item.WingEdge,
                                        Item.DoomDarts,
                                        Item.DoomDarts,
                                        Item.DragonClaw,
                                        Item.DragonClaw,
                                        Item.TigerFangs,
                                        Item.TigerFangs,
                                        Item.AegisShld,
                                        Item.AegisShld,
                                        Item.FlameShld,
                                        Item.FlameShld,
                                        Item.ForceShld,
                                        Item.ForceShld,
                                        Item.GenjiShld,
                                        Item.GenjiShld,
                                        Item.IceShld,
                                        Item.IceShld,
                                        Item.ThunderShld,
                                        Item.ThunderShld,
                                        Item.TortoiseShld,
                                        Item.TortoiseShld,
                                        Item.GenjiHelmet,
                                        Item.GenjiHelmet,
                                        Item.RedCap,
                                        Item.RedCap,
                                        Item.RegalCrown,
                                        Item.RegalCrown,
                                        Item.Thornlet,
                                        Item.Thornlet,
                                        Item.Titanium,
                                        Item.Titanium,
                                        Item.BehemothSuit,
                                        Item.BehemothSuit,
                                        Item.CzarinaGown,
                                        Item.CzarinaGown,
                                        Item.ForceArmor,
                                        Item.ForceArmor,
                                        Item.GenjiArmor,
                                        Item.GenjiArmor,
                                        Item.ImpsArmor,
                                        Item.ImpsArmor,
                                        Item.Minerva,
                                        Item.Minerva,
                                        Item.MoogleSuit,
                                        Item.MoogleSuit,
                                        Item.RedJacket,
                                        Item.RedJacket,
                                        Item.AirAnchor,
                                        Item.AirAnchor,
                                        Item.BlizzardOrb,
                                        Item.BlizzardOrb,
                                        Item.CrystalOrb,
                                        Item.CrystalOrb,
                                        Item.DragonHorn,
                                        Item.DragonHorn,
                                        Item.ExpEgg,
                                        Item.ExpEgg,
                                        Item.FakeMustache,
                                        Item.FakeMustache,
                                        Item.Gauntlet,
                                        Item.Gauntlet,
                                        Item.GoldHairpin,
                                        Item.GoldHairpin,
                                        Item.CharmBangle,
                                        Item.CharmBangle,
                                        Item.Offering,
                                        Item.Offering,
                                        Item.PodBracelet,
                                        Item.PodBracelet,
                                        Item.RageRing,
                                        Item.RageRing,
                                        Item.RelicRing,
                                        Item.RelicRing,
                                        Item.SafetyBit,
                                        Item.SafetyBit,
                                        Item.Hardened,
                                        Item.Hardened,
                                        Item.Ribbon,
                                        Item.Ribbon,
                                        Item.Economizer,
                                        Item.GemBox,
                                    },
                                new List<Item> // Give Tier 11
                                    {
                                        Item.Megalixir,
                                        Item.Megalixir,
                                        Item.Excalibur,
                                        Item.AuraLance,
                                        Item.SkyRender,
                                        Item.RainbowBrsh,
                                        Item.FixedDice,
                                        Item.Coronet,
                                        Item.NutkinSuit,
                                        Item.MuscleBelt,
                                    },
                                new List<Item> // Give Tier 12
                                    {
                                        Item.RenameCard,
                                        Item.RenameCard,
                                        Item.Illumina,
                                        Item.OgreNix,
                                        Item.CatHood,
                                        Item.MirageVest,
                                        Item.SnowMuffler,
                                        Item.CursedRing,
                                        Item.MarvelShoes,
                                        Item.MeritAward,
                                    },
                                new List<Item> // Give Tier 13
                                    {
                                        Item.ValiantKnife,
                                        Item.Ragnarok,
                                        Item.CursedShld,
                                        Item.PaladinShld,
                                        Item.CharmBangle,
                                        Item.Tintinabar,
                                    },
                            };
        }
    }
}
